import {
  request
} from '../../request/index.js';
Page({

  data: {
    //左侧商品数据
    leftMenuList: [],
    // 右侧商品数据
    rightContent: [],
    //被点击得左侧菜单得索引
    currentIndex: 0,
    // 接口返回数据
    Cates: [],
    //右侧滚动条得位置
    scrollTop:0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
   //进行缓存操作，判断没用旧数据，就发送请求
    // 有旧数据，并且没有过期，就使用本地得旧数据
    const Cates=wx.getStorageSync('cates')
    if (!Cates) {
      //不存在就直接发送请求
      this.getCates()
    }else{
      //判断是否过期
      if (Date.now()-Cates.time>1000*10) {//是否超过10秒,超过就重新发请求
        this.getCates()
      }else{
        //可以使用旧的
        this.Cates=Cates.data;
         //左侧菜单数据  
         let leftMenuList = this.Cates.map(v => v.cat_name)
         //右侧商品数据
         let rightContent = this.Cates[0].children;
         this.setData({
           leftMenuList,
           rightContent 
         })

      }
    }

  },
  async getCates() {//加上async和await 可以直接写成 const res=await request({url: "/categories"}); 不用加then
        const res=await request({url: "/categories"});
        this.Cates = res.data.message;
        //把接口数据存在本地存储中
        wx.setStorageSync('cates', {time:Date.now(),data:this.Cates})
        //左侧菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name)
        //右侧商品数据
        let rightContent = this.Cates[0].children;
        this.setData({
          leftMenuList,
          rightContent 
        })
  },
  //左侧菜单得点击事件
  handleItemTap(e) {
    const {index}=e.currentTarget.dataset
    let rightContent = this.Cates[index].children;
    
    this.setData({
      currentIndex:index,
      rightContent,
      scrollTop:0,    //重新设置右侧内容 滚动回顶部
    })



  }
})